// 日志消息

#ifndef __M_MESSAGE_H__
#define __M_MESSAGE_H__

#include "level.hpp"
#include "util.hpp"
#include <thread>

namespace snowdragon
{
    class Message
    {
    public:
        time_t _create_time;        // 日期
        std::string _file_name;     // 文件名
        int _file_line;             // 行号
        std::thread::id _thread_id; // 线程id
        LogLevel::Level _level;     // 日志级别
        std::string _payload;       // 日志消息
        std::string _logger;        // 日志器名称

        Message(const std::string &file_name, int file_line, LogLevel::Level level, const std::string &payload, const std::string &logger)
            : _create_time(util::Date::nowDate()), _file_name(file_name), _file_line(file_line),
              _thread_id(std::this_thread::get_id()), _level(level), _payload(payload), _logger(logger)
        {}
    };
}

#endif